package com.gitee.chili.leisure.properties;

import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;

/**
 * NettyHandlerProperties
 *
 * @author week solider
 * @since 2020-07-21
 */

@Data
@Component
@ConfigurationProperties("netty.handler")
public class NettyHandlerProperties {

    /**
     * 指定时间内没有读取数据
     */
    private int readerIdleTimeSeconds = 0;

    /**
     * 指定时间内没有读取数据
     */
    private int writerIdleTimeSeconds = 0;

    /**
     * 当在指定的时间内未执行读写操作时，将触发状态为 {@link io.netty.handler.timeout.IdleState#ALL_IDLE}
     * 的 {@link io.netty.handler.timeout.IdleStateEvent}。指定 {@code 0} 禁用。
     */
    private int allIdleTimeSeconds = 0;

    /**
     * 工作线程总数量
     */
    private int workThreadSize = Runtime.getRuntime().availableProcessors();

    /**
     * 启动线程总数量
     */
    private int bossThreadSize = Runtime.getRuntime().availableProcessors() << 1;

    /**
     * 网关地址
     */
    private String gatewayUrl = "http://localhost:9080/";

}
